[INFO] cloning repository https://github.com/Zyphicx/ecstest
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Zyphicx/ecstest" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZyphicx%2Fecstest", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZyphicx%2Fecstest'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cf3d0dc4be347e92edc1a5dcc010a3d92f090d44
[INFO] checking Zyphicx/ecstest against try#72f88fc4e9458f89516a0b8b0868f3718aec5b47 for pr-74989
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZyphicx%2Fecstest" "/workspace/builds/worker-7/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Zyphicx/ecstest on toolchain 72f88fc4e9458f89516a0b8b0868f3718aec5b47
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Zyphicx/ecstest
[INFO] finished tweaking git repo https://github.com/Zyphicx/ecstest
[INFO] tweaked toml for git repo https://github.com/Zyphicx/ecstest written to /workspace/builds/worker-7/source/Cargo.toml
[INFO] crate git repo https://github.com/Zyphicx/ecstest already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8ec3072b5bf36a1c3f2471ad30e7f533bd014b744d61279cdc8ce0a775ac60f4
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "8ec3072b5bf36a1c3f2471ad30e7f533bd014b744d61279cdc8ce0a775ac60f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8ec3072b5bf36a1c3f2471ad30e7f533bd014b744d61279cdc8ce0a775ac60f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8ec3072b5bf36a1c3f2471ad30e7f533bd014b744d61279cdc8ce0a775ac60f4", kill_on_drop: false }`
[INFO] [stdout] 8ec3072b5bf36a1c3f2471ad30e7f533bd014b744d61279cdc8ce0a775ac60f4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 79e39abd0e153dd93cf2307f286145420a012c7d5a5192d255a837d4a845f602
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "79e39abd0e153dd93cf2307f286145420a012c7d5a5192d255a837d4a845f602", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Checking ecstest v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Tag::*`
[INFO] [stdout]    --> src/main.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | use Tag::*;
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:162:47
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn put(&mut self, id: EntityID, comp: Box<Component>);
[INFO] [stdout]     |                                               ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:163:48
[INFO] [stdout]     |
[INFO] [stdout] 163 |     fn get(&self, id: EntityID) -> Option<&Box<Component>>;
[INFO] [stdout]     |                                                ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:164:60
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn get_mut(&mut self, id: EntityID) -> Option<&mut Box<Component>>;
[INFO] [stdout]     |                                                            ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:167:49
[INFO] [stdout]     |
[INFO] [stdout] 167 | impl ComponentStorage for HashMap<EntityID, Box<Component>> {
[INFO] [stdout]     |                                                 ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:168:47
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn put(&mut self, id: EntityID, comp: Box<Component>) {
[INFO] [stdout]     |                                               ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:172:48
[INFO] [stdout]     |
[INFO] [stdout] 172 |     fn get(&self, id: EntityID) -> Option<&Box<Component>> {
[INFO] [stdout]     |                                                ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:176:60
[INFO] [stdout]     |
[INFO] [stdout] 176 |     fn get_mut(&mut self, id: EntityID) -> Option<&mut Box<Component>> {
[INFO] [stdout]     |                                                            ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:181:35
[INFO] [stdout]     |
[INFO] [stdout] 181 | impl ComponentStorage for Vec<Box<Component>> {
[INFO] [stdout]     |                                   ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:182:47
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn put(&mut self, id: EntityID, comp: Box<Component>) {
[INFO] [stdout]     |                                               ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:186:48
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn get(&self, id: EntityID) -> Option<&Box<Component>> {
[INFO] [stdout]     |                                                ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:190:60
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn get_mut(&mut self, id: EntityID) -> Option<&mut Box<Component>> {
[INFO] [stdout]     |                                                            ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:224:26
[INFO] [stdout]     |
[INFO] [stdout] 224 |     fn as_any(&self) -> &std::any::Any;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ help: use `dyn`: `dyn std::any::Any`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:234:37
[INFO] [stdout]     |
[INFO] [stdout] 234 |     components: HashMap<TypeId, Box<ComponentStorage>>,
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ComponentStorage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:261:26
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn as_any(&self) -> &std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ help: use `dyn`: `dyn std::any::Any`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:269:26
[INFO] [stdout]     |
[INFO] [stdout] 269 |     fn as_any(&self) -> &std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ help: use `dyn`: `dyn std::any::Any`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:295:25
[INFO] [stdout]     |
[INFO] [stdout] 295 |         let component: &Component = &**component_storage.get(*entity).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/main.rs:77:21
[INFO] [stdout]     |
[INFO] [stdout] 77  |         type Read = ( $( $( &'a $components ),+ )+ );
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] ...
[INFO] [stdout] 357 |     read!( Tag::HasGravity: Vel ); 
[INFO] [stdout]     |     ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:83:51
[INFO] [stdout]     |
[INFO] [stdout] 83  |                             .map(|x| { let comp: &Component = &**world.components.get(&TypeId::of::<$components>())
[INFO] [stdout]     |                                                   ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] ...
[INFO] [stdout] 357 |     read!( Tag::HasGravity: Vel ); 
[INFO] [stdout]     |     ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/main.rs:127:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |         type Write = ( $( $( &'a mut $components ),+ )+ );
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] ...
[INFO] [stdout] 358 |     write!( Tag::HasGravity: Pos );
[INFO] [stdout]     |     ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:133:55
[INFO] [stdout]     |
[INFO] [stdout] 133 |                             .map(|x| { let comp: &mut Component = &**world.components.get_mut(&TypeId::of::<$components>())
[INFO] [stdout]     |                                                       ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] ...
[INFO] [stdout] 358 |     write!( Tag::HasGravity: Pos );
[INFO] [stdout]     |     ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Tag::*`
[INFO] [stdout]    --> src/main.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | use Tag::*;
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:162:47
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn put(&mut self, id: EntityID, comp: Box<Component>);
[INFO] [stdout]     |                                               ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:163:48
[INFO] [stdout]     |
[INFO] [stdout] 163 |     fn get(&self, id: EntityID) -> Option<&Box<Component>>;
[INFO] [stdout]     |                                                ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:164:60
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn get_mut(&mut self, id: EntityID) -> Option<&mut Box<Component>>;
[INFO] [stdout]     |                                                            ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:167:49
[INFO] [stdout]     |
[INFO] [stdout] 167 | impl ComponentStorage for HashMap<EntityID, Box<Component>> {
[INFO] [stdout]     |                                                 ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:168:47
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn put(&mut self, id: EntityID, comp: Box<Component>) {
[INFO] [stdout]     |                                               ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:172:48
[INFO] [stdout]     |
[INFO] [stdout] 172 |     fn get(&self, id: EntityID) -> Option<&Box<Component>> {
[INFO] [stdout]     |                                                ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:176:60
[INFO] [stdout]     |
[INFO] [stdout] 176 |     fn get_mut(&mut self, id: EntityID) -> Option<&mut Box<Component>> {
[INFO] [stdout]     |                                                            ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:181:35
[INFO] [stdout]     |
[INFO] [stdout] 181 | impl ComponentStorage for Vec<Box<Component>> {
[INFO] [stdout]     |                                   ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:182:47
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn put(&mut self, id: EntityID, comp: Box<Component>) {
[INFO] [stdout]     |                                               ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:186:48
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn get(&self, id: EntityID) -> Option<&Box<Component>> {
[INFO] [stdout]     |                                                ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:190:60
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn get_mut(&mut self, id: EntityID) -> Option<&mut Box<Component>> {
[INFO] [stdout]     |                                                            ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:224:26
[INFO] [stdout]     |
[INFO] [stdout] 224 |     fn as_any(&self) -> &std::any::Any;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ help: use `dyn`: `dyn std::any::Any`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:234:37
[INFO] [stdout]     |
[INFO] [stdout] 234 |     components: HashMap<TypeId, Box<ComponentStorage>>,
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ComponentStorage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:261:26
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn as_any(&self) -> &std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ help: use `dyn`: `dyn std::any::Any`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:269:26
[INFO] [stdout]     |
[INFO] [stdout] 269 |     fn as_any(&self) -> &std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ help: use `dyn`: `dyn std::any::Any`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:295:25
[INFO] [stdout]     |
[INFO] [stdout] 295 |         let component: &Component = &**component_storage.get(*entity).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/main.rs:77:21
[INFO] [stdout]     |
[INFO] [stdout] 77  |         type Read = ( $( $( &'a $components ),+ )+ );
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] ...
[INFO] [stdout] 357 |     read!( Tag::HasGravity: Vel ); 
[INFO] [stdout]     |     ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:83:51
[INFO] [stdout]     |
[INFO] [stdout] 83  |                             .map(|x| { let comp: &Component = &**world.components.get(&TypeId::of::<$components>())
[INFO] [stdout]     |                                                   ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] ...
[INFO] [stdout] 357 |     read!( Tag::HasGravity: Vel ); 
[INFO] [stdout]     |     ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/main.rs:127:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |         type Write = ( $( $( &'a mut $components ),+ )+ );
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] ...
[INFO] [stdout] 358 |     write!( Tag::HasGravity: Pos );
[INFO] [stdout]     |     ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:133:55
[INFO] [stdout]     |
[INFO] [stdout] 133 |                             .map(|x| { let comp: &mut Component = &**world.components.get_mut(&TypeId::of::<$components>())
[INFO] [stdout]     |                                                       ^^^^^^^^^ help: use `dyn`: `dyn Component`
[INFO] [stdout] ...
[INFO] [stdout] 358 |     write!( Tag::HasGravity: Pos );
[INFO] [stdout]     |     ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: a value of type `&Vel` cannot be built from an iterator over elements of type `&Vel`
[INFO] [stdout]    --> src/main.rs:94:30
[INFO] [stdout]     |
[INFO] [stdout] 94  |                             .collect()
[INFO] [stdout]     |                              ^^^^^^^ value of type `&Vel` cannot be built from `std::iter::Iterator<Item=&Vel>`
[INFO] [stdout] ...
[INFO] [stdout] 357 |     read!( Tag::HasGravity: Vel ); 
[INFO] [stdout]     |     ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromIterator<&Vel>` is not implemented for `&Vel`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: a value of type `&Vel` cannot be built from an iterator over elements of type `&Vel`
[INFO] [stdout]    --> src/main.rs:94:30
[INFO] [stdout]     |
[INFO] [stdout] 94  |                             .collect()
[INFO] [stdout]     |                              ^^^^^^^ value of type `&Vel` cannot be built from `std::iter::Iterator<Item=&Vel>`
[INFO] [stdout] ...
[INFO] [stdout] 357 |     read!( Tag::HasGravity: Vel ); 
[INFO] [stdout]     |     ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromIterator<&Vel>` is not implemented for `&Vel`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:133:67
[INFO] [stdout]     |
[INFO] [stdout] 133 |                               .map(|x| { let comp: &mut Component = &**world.components.get_mut(&TypeId::of::<$components>())
[INFO] [stdout]     |  __________________________________________________--------------___^
[INFO] [stdout]     | |                                                  |
[INFO] [stdout]     | |                                                  expected due to this
[INFO] [stdout] 134 | |                                                                                      .unwrap()
[INFO] [stdout] 135 | |                                                                                      .get_mut(*x) // Get the corresponding component
[INFO] [stdout] 136 | |                                                                                      .unwrap();
[INFO] [stdout]     | |______________________________________________________________________________________________^ types differ in mutability
[INFO] [stdout] ...
[INFO] [stdout] 358 |       write!( Tag::HasGravity: Pos );
[INFO] [stdout]     |       ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut (dyn Component + 'static)`
[INFO] [stdout]                        found reference `&(dyn Component + 'static)`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: a value of type `&mut Pos` cannot be built from an iterator over elements of type `&mut Pos`
[INFO] [stdout]    --> src/main.rs:144:30
[INFO] [stdout]     |
[INFO] [stdout] 144 |                             .collect()
[INFO] [stdout]     |                              ^^^^^^^ value of type `&mut Pos` cannot be built from `std::iter::Iterator<Item=&mut Pos>`
[INFO] [stdout] ...
[INFO] [stdout] 358 |     write!( Tag::HasGravity: Pos );
[INFO] [stdout]     |     ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromIterator<&mut Pos>` is not implemented for `&mut Pos`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:191:14
[INFO] [stdout]     |
[INFO] [stdout] 191 |         Some(&self[id as usize])
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^ types differ in mutability
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Box<(dyn Component + 'static)>`
[INFO] [stdout]                        found reference `&Box<(dyn Component + 'static)>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:133:67
[INFO] [stdout]     |
[INFO] [stdout] 133 |                               .map(|x| { let comp: &mut Component = &**world.components.get_mut(&TypeId::of::<$components>())
[INFO] [stdout]     |  __________________________________________________--------------___^
[INFO] [stdout]     | |                                                  |
[INFO] [stdout]     | |                                                  expected due to this
[INFO] [stdout] 134 | |                                                                                      .unwrap()
[INFO] [stdout] 135 | |                                                                                      .get_mut(*x) // Get the corresponding component
[INFO] [stdout] 136 | |                                                                                      .unwrap();
[INFO] [stdout]     | |______________________________________________________________________________________________^ types differ in mutability
[INFO] [stdout] ...
[INFO] [stdout] 358 |       write!( Tag::HasGravity: Pos );
[INFO] [stdout]     |       ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut (dyn Component + 'static)`
[INFO] [stdout]                        found reference `&(dyn Component + 'static)`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: a value of type `&mut Pos` cannot be built from an iterator over elements of type `&mut Pos`
[INFO] [stdout]    --> src/main.rs:144:30
[INFO] [stdout]     |
[INFO] [stdout] 144 |                             .collect()
[INFO] [stdout]     |                              ^^^^^^^ value of type `&mut Pos` cannot be built from `std::iter::Iterator<Item=&mut Pos>`
[INFO] [stdout] ...
[INFO] [stdout] 358 |     write!( Tag::HasGravity: Pos );
[INFO] [stdout]     |     ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromIterator<&mut Pos>` is not implemented for `&mut Pos`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 21 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ecstest`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:191:14
[INFO] [stdout]     |
[INFO] [stdout] 191 |         Some(&self[id as usize])
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^ types differ in mutability
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Box<(dyn Component + 'static)>`
[INFO] [stdout]                        found reference `&Box<(dyn Component + 'static)>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 21 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "79e39abd0e153dd93cf2307f286145420a012c7d5a5192d255a837d4a845f602", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "79e39abd0e153dd93cf2307f286145420a012c7d5a5192d255a837d4a845f602", kill_on_drop: false }`
[INFO] [stdout] 79e39abd0e153dd93cf2307f286145420a012c7d5a5192d255a837d4a845f602
